home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -in_the_mag- / emulation / macos / cpu68000.cpt.hqx / CPU68000 / CPU / cpuB.c < prev    next >
C/C++ Source or Header  |  1997-06-16  |  43KB  |  1,300 lines

  1. #include "sysconfig.h"
  2. #include "sysdeps.h"
  3. #include "config.h"
  4. #include "options.h"
  5. #include "machdep/m68k.h"
  6. #include "my_memory.h"
  7. #include "custom.h"
  8. #include "readcpu.h"
  9. #include "newcpu.h"
  10. #include "compiler.h"
  11. #include "cputbl.h"
  12. #if !defined (MEMFUNCS_DIRECT_REQUESTED) || defined (DIRECT_MEMFUNCS_SUCCESSFUL)
  13. void REGPARAM2 CPU_OP_NAME(_b000)(uae_u32 opcode) /* CMP */
  14. {
  15.     uae_u32 srcreg = (opcode & 7);
  16.     uae_u32 dstreg = (opcode >> 9) & 7;
  17. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  18. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  19. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  20. {    int flgs = ((uae_s8)(src)) < 0;
  21.     int flgo = ((uae_s8)(dst)) < 0;
  22.     int flgn = ((uae_s8)(newv)) < 0;
  23.     ZFLG = ((uae_s8)(newv)) == 0;
  24.     VFLG = (flgs != flgo) && (flgn != flgo);
  25.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  26.     NFLG = flgn != 0;
  27. }}}}}}}
  28. void REGPARAM2 CPU_OP_NAME(_b010)(uae_u32 opcode) /* CMP */
  29. {
  30.     uae_u32 srcreg = (opcode & 7);
  31.     uae_u32 dstreg = (opcode >> 9) & 7;
  32. {{    uaecptr srca = m68k_areg(regs, srcreg);
  33.     uae_s8 src = get_byte(srca);
  34. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  35. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  36. {    int flgs = ((uae_s8)(src)) < 0;
  37.     int flgo = ((uae_s8)(dst)) < 0;
  38.     int flgn = ((uae_s8)(newv)) < 0;
  39.     ZFLG = ((uae_s8)(newv)) == 0;
  40.     VFLG = (flgs != flgo) && (flgn != flgo);
  41.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  42.     NFLG = flgn != 0;
  43. }}}}}}}
  44. void REGPARAM2 CPU_OP_NAME(_b018)(uae_u32 opcode) /* CMP */
  45. {
  46.     uae_u32 srcreg = (opcode & 7);
  47.     uae_u32 dstreg = (opcode >> 9) & 7;
  48. {{    uaecptr srca = m68k_areg(regs, srcreg);
  49.     uae_s8 src = get_byte(srca);
  50. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  51. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  52. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  53. {    int flgs = ((uae_s8)(src)) < 0;
  54.     int flgo = ((uae_s8)(dst)) < 0;
  55.     int flgn = ((uae_s8)(newv)) < 0;
  56.     ZFLG = ((uae_s8)(newv)) == 0;
  57.     VFLG = (flgs != flgo) && (flgn != flgo);
  58.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  59.     NFLG = flgn != 0;
  60. }}}}}}}}
  61. void REGPARAM2 CPU_OP_NAME(_b020)(uae_u32 opcode) /* CMP */
  62. {
  63.     uae_u32 srcreg = (opcode & 7);
  64.     uae_u32 dstreg = (opcode >> 9) & 7;
  65. {{    m68k_areg(regs, srcreg) -= areg_byteinc[srcreg];
  66. {    uaecptr srca = m68k_areg(regs, srcreg);
  67.     uae_s8 src = get_byte(srca);
  68. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  69. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  70. {    int flgs = ((uae_s8)(src)) < 0;
  71.     int flgo = ((uae_s8)(dst)) < 0;
  72.     int flgn = ((uae_s8)(newv)) < 0;
  73.     ZFLG = ((uae_s8)(newv)) == 0;
  74.     VFLG = (flgs != flgo) && (flgn != flgo);
  75.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  76.     NFLG = flgn != 0;
  77. }}}}}}}}
  78. void REGPARAM2 CPU_OP_NAME(_b028)(uae_u32 opcode) /* CMP */
  79. {
  80.     uae_u32 srcreg = (opcode & 7);
  81.     uae_u32 dstreg = (opcode >> 9) & 7;
  82. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  83.     uae_s8 src = get_byte(srca);
  84. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  85. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  86. {    int flgs = ((uae_s8)(src)) < 0;
  87.     int flgo = ((uae_s8)(dst)) < 0;
  88.     int flgn = ((uae_s8)(newv)) < 0;
  89.     ZFLG = ((uae_s8)(newv)) == 0;
  90.     VFLG = (flgs != flgo) && (flgn != flgo);
  91.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  92.     NFLG = flgn != 0;
  93. }}}}}}}
  94. void REGPARAM2 CPU_OP_NAME(_b030)(uae_u32 opcode) /* CMP */
  95. {
  96.     uae_u32 srcreg = (opcode & 7);
  97.     uae_u32 dstreg = (opcode >> 9) & 7;
  98. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  99. {    uae_s8 src = get_byte(srca);
  100. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  101. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  102. {    int flgs = ((uae_s8)(src)) < 0;
  103.     int flgo = ((uae_s8)(dst)) < 0;
  104.     int flgn = ((uae_s8)(newv)) < 0;
  105.     ZFLG = ((uae_s8)(newv)) == 0;
  106.     VFLG = (flgs != flgo) && (flgn != flgo);
  107.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  108.     NFLG = flgn != 0;
  109. }}}}}}}}
  110. void REGPARAM2 CPU_OP_NAME(_b038)(uae_u32 opcode) /* CMP */
  111. {
  112.     uae_u32 dstreg = (opcode >> 9) & 7;
  113. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  114.     uae_s8 src = get_byte(srca);
  115. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  116. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  117. {    int flgs = ((uae_s8)(src)) < 0;
  118.     int flgo = ((uae_s8)(dst)) < 0;
  119.     int flgn = ((uae_s8)(newv)) < 0;
  120.     ZFLG = ((uae_s8)(newv)) == 0;
  121.     VFLG = (flgs != flgo) && (flgn != flgo);
  122.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  123.     NFLG = flgn != 0;
  124. }}}}}}}
  125. void REGPARAM2 CPU_OP_NAME(_b039)(uae_u32 opcode) /* CMP */
  126. {
  127.     uae_u32 dstreg = (opcode >> 9) & 7;
  128. {{    uaecptr srca = nextilong();
  129.     uae_s8 src = get_byte(srca);
  130. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  131. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  132. {    int flgs = ((uae_s8)(src)) < 0;
  133.     int flgo = ((uae_s8)(dst)) < 0;
  134.     int flgn = ((uae_s8)(newv)) < 0;
  135.     ZFLG = ((uae_s8)(newv)) == 0;
  136.     VFLG = (flgs != flgo) && (flgn != flgo);
  137.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  138.     NFLG = flgn != 0;
  139. }}}}}}}
  140. void REGPARAM2 CPU_OP_NAME(_b03a)(uae_u32 opcode) /* CMP */
  141. {
  142.     uae_u32 dstreg = (opcode >> 9) & 7;
  143. {{    uaecptr srca = m68k_getpc();
  144.     srca += (uae_s32)(uae_s16)nextiword();
  145. {    uae_s8 src = get_byte(srca);
  146. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  147. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  148. {    int flgs = ((uae_s8)(src)) < 0;
  149.     int flgo = ((uae_s8)(dst)) < 0;
  150.     int flgn = ((uae_s8)(newv)) < 0;
  151.     ZFLG = ((uae_s8)(newv)) == 0;
  152.     VFLG = (flgs != flgo) && (flgn != flgo);
  153.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  154.     NFLG = flgn != 0;
  155. }}}}}}}}
  156. void REGPARAM2 CPU_OP_NAME(_b03b)(uae_u32 opcode) /* CMP */
  157. {
  158.     uae_u32 dstreg = (opcode >> 9) & 7;
  159. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  160. {    uae_s8 src = get_byte(srca);
  161. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  162. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  163. {    int flgs = ((uae_s8)(src)) < 0;
  164.     int flgo = ((uae_s8)(dst)) < 0;
  165.     int flgn = ((uae_s8)(newv)) < 0;
  166.     ZFLG = ((uae_s8)(newv)) == 0;
  167.     VFLG = (flgs != flgo) && (flgn != flgo);
  168.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  169.     NFLG = flgn != 0;
  170. }}}}}}}}
  171. void REGPARAM2 CPU_OP_NAME(_b03c)(uae_u32 opcode) /* CMP */
  172. {
  173.     uae_u32 dstreg = (opcode >> 9) & 7;
  174. {{    uae_s8 src = nextibyte();
  175. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  176. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  177. {    int flgs = ((uae_s8)(src)) < 0;
  178.     int flgo = ((uae_s8)(dst)) < 0;
  179.     int flgn = ((uae_s8)(newv)) < 0;
  180.     ZFLG = ((uae_s8)(newv)) == 0;
  181.     VFLG = (flgs != flgo) && (flgn != flgo);
  182.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  183.     NFLG = flgn != 0;
  184. }}}}}}}
  185. void REGPARAM2 CPU_OP_NAME(_b040)(uae_u32 opcode) /* CMP */
  186. {
  187.     uae_u32 srcreg = (opcode & 7);
  188.     uae_u32 dstreg = (opcode >> 9) & 7;
  189. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  190. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  191. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  192. {    int flgs = ((uae_s16)(src)) < 0;
  193.     int flgo = ((uae_s16)(dst)) < 0;
  194.     int flgn = ((uae_s16)(newv)) < 0;
  195.     ZFLG = ((uae_s16)(newv)) == 0;
  196.     VFLG = (flgs != flgo) && (flgn != flgo);
  197.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  198.     NFLG = flgn != 0;
  199. }}}}}}}
  200. void REGPARAM2 CPU_OP_NAME(_b048)(uae_u32 opcode) /* CMP */
  201. {
  202.     uae_u32 srcreg = (opcode & 7);
  203.     uae_u32 dstreg = (opcode >> 9) & 7;
  204. {{    uae_s16 src = m68k_areg(regs, srcreg);
  205. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  206. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  207. {    int flgs = ((uae_s16)(src)) < 0;
  208.     int flgo = ((uae_s16)(dst)) < 0;
  209.     int flgn = ((uae_s16)(newv)) < 0;
  210.     ZFLG = ((uae_s16)(newv)) == 0;
  211.     VFLG = (flgs != flgo) && (flgn != flgo);
  212.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  213.     NFLG = flgn != 0;
  214. }}}}}}}
  215. void REGPARAM2 CPU_OP_NAME(_b050)(uae_u32 opcode) /* CMP */
  216. {
  217.     uae_u32 srcreg = (opcode & 7);
  218.     uae_u32 dstreg = (opcode >> 9) & 7;
  219. {{    uaecptr srca = m68k_areg(regs, srcreg);
  220.     uae_s16 src = get_word(srca);
  221. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  222. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  223. {    int flgs = ((uae_s16)(src)) < 0;
  224.     int flgo = ((uae_s16)(dst)) < 0;
  225.     int flgn = ((uae_s16)(newv)) < 0;
  226.     ZFLG = ((uae_s16)(newv)) == 0;
  227.     VFLG = (flgs != flgo) && (flgn != flgo);
  228.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  229.     NFLG = flgn != 0;
  230. }}}}}}}
  231. void REGPARAM2 CPU_OP_NAME(_b058)(uae_u32 opcode) /* CMP */
  232. {
  233.     uae_u32 srcreg = (opcode & 7);
  234.     uae_u32 dstreg = (opcode >> 9) & 7;
  235. {{    uaecptr srca = m68k_areg(regs, srcreg);
  236.     uae_s16 src = get_word(srca);
  237. {    m68k_areg(regs, srcreg) += 2;
  238. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  239. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  240. {    int flgs = ((uae_s16)(src)) < 0;
  241.     int flgo = ((uae_s16)(dst)) < 0;
  242.     int flgn = ((uae_s16)(newv)) < 0;
  243.     ZFLG = ((uae_s16)(newv)) == 0;
  244.     VFLG = (flgs != flgo) && (flgn != flgo);
  245.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  246.     NFLG = flgn != 0;
  247. }}}}}}}}
  248. void REGPARAM2 CPU_OP_NAME(_b060)(uae_u32 opcode) /* CMP */
  249. {
  250.     uae_u32 srcreg = (opcode & 7);
  251.     uae_u32 dstreg = (opcode >> 9) & 7;
  252. {{    m68k_areg(regs, srcreg) -= 2;
  253. {    uaecptr srca = m68k_areg(regs, srcreg);
  254.     uae_s16 src = get_word(srca);
  255. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  256. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  257. {    int flgs = ((uae_s16)(src)) < 0;
  258.     int flgo = ((uae_s16)(dst)) < 0;
  259.     int flgn = ((uae_s16)(newv)) < 0;
  260.     ZFLG = ((uae_s16)(newv)) == 0;
  261.     VFLG = (flgs != flgo) && (flgn != flgo);
  262.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  263.     NFLG = flgn != 0;
  264. }}}}}}}}
  265. void REGPARAM2 CPU_OP_NAME(_b068)(uae_u32 opcode) /* CMP */
  266. {
  267.     uae_u32 srcreg = (opcode & 7);
  268.     uae_u32 dstreg = (opcode >> 9) & 7;
  269. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  270.     uae_s16 src = get_word(srca);
  271. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  272. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  273. {    int flgs = ((uae_s16)(src)) < 0;
  274.     int flgo = ((uae_s16)(dst)) < 0;
  275.     int flgn = ((uae_s16)(newv)) < 0;
  276.     ZFLG = ((uae_s16)(newv)) == 0;
  277.     VFLG = (flgs != flgo) && (flgn != flgo);
  278.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  279.     NFLG = flgn != 0;
  280. }}}}}}}
  281. void REGPARAM2 CPU_OP_NAME(_b070)(uae_u32 opcode) /* CMP */
  282. {
  283.     uae_u32 srcreg = (opcode & 7);
  284.     uae_u32 dstreg = (opcode >> 9) & 7;
  285. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  286. {    uae_s16 src = get_word(srca);
  287. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  288. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  289. {    int flgs = ((uae_s16)(src)) < 0;
  290.     int flgo = ((uae_s16)(dst)) < 0;
  291.     int flgn = ((uae_s16)(newv)) < 0;
  292.     ZFLG = ((uae_s16)(newv)) == 0;
  293.     VFLG = (flgs != flgo) && (flgn != flgo);
  294.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  295.     NFLG = flgn != 0;
  296. }}}}}}}}
  297. void REGPARAM2 CPU_OP_NAME(_b078)(uae_u32 opcode) /* CMP */
  298. {
  299.     uae_u32 dstreg = (opcode >> 9) & 7;
  300. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  301.     uae_s16 src = get_word(srca);
  302. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  303. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  304. {    int flgs = ((uae_s16)(src)) < 0;
  305.     int flgo = ((uae_s16)(dst)) < 0;
  306.     int flgn = ((uae_s16)(newv)) < 0;
  307.     ZFLG = ((uae_s16)(newv)) == 0;
  308.     VFLG = (flgs != flgo) && (flgn != flgo);
  309.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  310.     NFLG = flgn != 0;
  311. }}}}}}}
  312. void REGPARAM2 CPU_OP_NAME(_b079)(uae_u32 opcode) /* CMP */
  313. {
  314.     uae_u32 dstreg = (opcode >> 9) & 7;
  315. {{    uaecptr srca = nextilong();
  316.     uae_s16 src = get_word(srca);
  317. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  318. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  319. {    int flgs = ((uae_s16)(src)) < 0;
  320.     int flgo = ((uae_s16)(dst)) < 0;
  321.     int flgn = ((uae_s16)(newv)) < 0;
  322.     ZFLG = ((uae_s16)(newv)) == 0;
  323.     VFLG = (flgs != flgo) && (flgn != flgo);
  324.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  325.     NFLG = flgn != 0;
  326. }}}}}}}
  327. void REGPARAM2 CPU_OP_NAME(_b07a)(uae_u32 opcode) /* CMP */
  328. {
  329.     uae_u32 dstreg = (opcode >> 9) & 7;
  330. {{    uaecptr srca = m68k_getpc();
  331.     srca += (uae_s32)(uae_s16)nextiword();
  332. {    uae_s16 src = get_word(srca);
  333. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  334. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  335. {    int flgs = ((uae_s16)(src)) < 0;
  336.     int flgo = ((uae_s16)(dst)) < 0;
  337.     int flgn = ((uae_s16)(newv)) < 0;
  338.     ZFLG = ((uae_s16)(newv)) == 0;
  339.     VFLG = (flgs != flgo) && (flgn != flgo);
  340.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  341.     NFLG = flgn != 0;
  342. }}}}}}}}
  343. void REGPARAM2 CPU_OP_NAME(_b07b)(uae_u32 opcode) /* CMP */
  344. {
  345.     uae_u32 dstreg = (opcode >> 9) & 7;
  346. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  347. {    uae_s16 src = get_word(srca);
  348. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  349. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  350. {    int flgs = ((uae_s16)(src)) < 0;
  351.     int flgo = ((uae_s16)(dst)) < 0;
  352.     int flgn = ((uae_s16)(newv)) < 0;
  353.     ZFLG = ((uae_s16)(newv)) == 0;
  354.     VFLG = (flgs != flgo) && (flgn != flgo);
  355.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  356.     NFLG = flgn != 0;
  357. }}}}}}}}
  358. void REGPARAM2 CPU_OP_NAME(_b07c)(uae_u32 opcode) /* CMP */
  359. {
  360.     uae_u32 dstreg = (opcode >> 9) & 7;
  361. {{    uae_s16 src = nextiword();
  362. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  363. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  364. {    int flgs = ((uae_s16)(src)) < 0;
  365.     int flgo = ((uae_s16)(dst)) < 0;
  366.     int flgn = ((uae_s16)(newv)) < 0;
  367.     ZFLG = ((uae_s16)(newv)) == 0;
  368.     VFLG = (flgs != flgo) && (flgn != flgo);
  369.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  370.     NFLG = flgn != 0;
  371. }}}}}}}
  372. void REGPARAM2 CPU_OP_NAME(_b080)(uae_u32 opcode) /* CMP */
  373. {
  374.     uae_u32 srcreg = (opcode & 7);
  375.     uae_u32 dstreg = (opcode >> 9) & 7;
  376. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  377. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  378. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  379. {    int flgs = ((uae_s32)(src)) < 0;
  380.     int flgo = ((uae_s32)(dst)) < 0;
  381.     int flgn = ((uae_s32)(newv)) < 0;
  382.     ZFLG = ((uae_s32)(newv)) == 0;
  383.     VFLG = (flgs != flgo) && (flgn != flgo);
  384.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  385.     NFLG = flgn != 0;
  386. }}}}}}}
  387. void REGPARAM2 CPU_OP_NAME(_b088)(uae_u32 opcode) /* CMP */
  388. {
  389.     uae_u32 srcreg = (opcode & 7);
  390.     uae_u32 dstreg = (opcode >> 9) & 7;
  391. {{    uae_s32 src = m68k_areg(regs, srcreg);
  392. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  393. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  394. {    int flgs = ((uae_s32)(src)) < 0;
  395.     int flgo = ((uae_s32)(dst)) < 0;
  396.     int flgn = ((uae_s32)(newv)) < 0;
  397.     ZFLG = ((uae_s32)(newv)) == 0;
  398.     VFLG = (flgs != flgo) && (flgn != flgo);
  399.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  400.     NFLG = flgn != 0;
  401. }}}}}}}
  402. void REGPARAM2 CPU_OP_NAME(_b090)(uae_u32 opcode) /* CMP */
  403. {
  404.     uae_u32 srcreg = (opcode & 7);
  405.     uae_u32 dstreg = (opcode >> 9) & 7;
  406. {{    uaecptr srca = m68k_areg(regs, srcreg);
  407.     uae_s32 src = get_long(srca);
  408. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  409. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  410. {    int flgs = ((uae_s32)(src)) < 0;
  411.     int flgo = ((uae_s32)(dst)) < 0;
  412.     int flgn = ((uae_s32)(newv)) < 0;
  413.     ZFLG = ((uae_s32)(newv)) == 0;
  414.     VFLG = (flgs != flgo) && (flgn != flgo);
  415.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  416.     NFLG = flgn != 0;
  417. }}}}}}}
  418. void REGPARAM2 CPU_OP_NAME(_b098)(uae_u32 opcode) /* CMP */
  419. {
  420.     uae_u32 srcreg = (opcode & 7);
  421.     uae_u32 dstreg = (opcode >> 9) & 7;
  422. {{    uaecptr srca = m68k_areg(regs, srcreg);
  423.     uae_s32 src = get_long(srca);
  424. {    m68k_areg(regs, srcreg) += 4;
  425. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  426. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  427. {    int flgs = ((uae_s32)(src)) < 0;
  428.     int flgo = ((uae_s32)(dst)) < 0;
  429.     int flgn = ((uae_s32)(newv)) < 0;
  430.     ZFLG = ((uae_s32)(newv)) == 0;
  431.     VFLG = (flgs != flgo) && (flgn != flgo);
  432.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  433.     NFLG = flgn != 0;
  434. }}}}}}}}
  435. void REGPARAM2 CPU_OP_NAME(_b0a0)(uae_u32 opcode) /* CMP */
  436. {
  437.     uae_u32 srcreg = (opcode & 7);
  438.     uae_u32 dstreg = (opcode >> 9) & 7;
  439. {{    m68k_areg(regs, srcreg) -= 4;
  440. {    uaecptr srca = m68k_areg(regs, srcreg);
  441.     uae_s32 src = get_long(srca);
  442. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  443. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  444. {    int flgs = ((uae_s32)(src)) < 0;
  445.     int flgo = ((uae_s32)(dst)) < 0;
  446.     int flgn = ((uae_s32)(newv)) < 0;
  447.     ZFLG = ((uae_s32)(newv)) == 0;
  448.     VFLG = (flgs != flgo) && (flgn != flgo);
  449.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  450.     NFLG = flgn != 0;
  451. }}}}}}}}
  452. void REGPARAM2 CPU_OP_NAME(_b0a8)(uae_u32 opcode) /* CMP */
  453. {
  454.     uae_u32 srcreg = (opcode & 7);
  455.     uae_u32 dstreg = (opcode >> 9) & 7;
  456. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  457.     uae_s32 src = get_long(srca);
  458. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  459. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  460. {    int flgs = ((uae_s32)(src)) < 0;
  461.     int flgo = ((uae_s32)(dst)) < 0;
  462.     int flgn = ((uae_s32)(newv)) < 0;
  463.     ZFLG = ((uae_s32)(newv)) == 0;
  464.     VFLG = (flgs != flgo) && (flgn != flgo);
  465.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  466.     NFLG = flgn != 0;
  467. }}}}}}}
  468. void REGPARAM2 CPU_OP_NAME(_b0b0)(uae_u32 opcode) /* CMP */
  469. {
  470.     uae_u32 srcreg = (opcode & 7);
  471.     uae_u32 dstreg = (opcode >> 9) & 7;
  472. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  473. {    uae_s32 src = get_long(srca);
  474. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  475. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  476. {    int flgs = ((uae_s32)(src)) < 0;
  477.     int flgo = ((uae_s32)(dst)) < 0;
  478.     int flgn = ((uae_s32)(newv)) < 0;
  479.     ZFLG = ((uae_s32)(newv)) == 0;
  480.     VFLG = (flgs != flgo) && (flgn != flgo);
  481.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  482.     NFLG = flgn != 0;
  483. }}}}}}}}
  484. void REGPARAM2 CPU_OP_NAME(_b0b8)(uae_u32 opcode) /* CMP */
  485. {
  486.     uae_u32 dstreg = (opcode >> 9) & 7;
  487. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  488.     uae_s32 src = get_long(srca);
  489. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  490. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  491. {    int flgs = ((uae_s32)(src)) < 0;
  492.     int flgo = ((uae_s32)(dst)) < 0;
  493.     int flgn = ((uae_s32)(newv)) < 0;
  494.     ZFLG = ((uae_s32)(newv)) == 0;
  495.     VFLG = (flgs != flgo) && (flgn != flgo);
  496.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  497.     NFLG = flgn != 0;
  498. }}}}}}}
  499. void REGPARAM2 CPU_OP_NAME(_b0b9)(uae_u32 opcode) /* CMP */
  500. {
  501.     uae_u32 dstreg = (opcode >> 9) & 7;
  502. {{    uaecptr srca = nextilong();
  503.     uae_s32 src = get_long(srca);
  504. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  505. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  506. {    int flgs = ((uae_s32)(src)) < 0;
  507.     int flgo = ((uae_s32)(dst)) < 0;
  508.     int flgn = ((uae_s32)(newv)) < 0;
  509.     ZFLG = ((uae_s32)(newv)) == 0;
  510.     VFLG = (flgs != flgo) && (flgn != flgo);
  511.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  512.     NFLG = flgn != 0;
  513. }}}}}}}
  514. void REGPARAM2 CPU_OP_NAME(_b0ba)(uae_u32 opcode) /* CMP */
  515. {
  516.     uae_u32 dstreg = (opcode >> 9) & 7;
  517. {{    uaecptr srca = m68k_getpc();
  518.     srca += (uae_s32)(uae_s16)nextiword();
  519. {    uae_s32 src = get_long(srca);
  520. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  521. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  522. {    int flgs = ((uae_s32)(src)) < 0;
  523.     int flgo = ((uae_s32)(dst)) < 0;
  524.     int flgn = ((uae_s32)(newv)) < 0;
  525.     ZFLG = ((uae_s32)(newv)) == 0;
  526.     VFLG = (flgs != flgo) && (flgn != flgo);
  527.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  528.     NFLG = flgn != 0;
  529. }}}}}}}}
  530. void REGPARAM2 CPU_OP_NAME(_b0bb)(uae_u32 opcode) /* CMP */
  531. {
  532.     uae_u32 dstreg = (opcode >> 9) & 7;
  533. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  534. {    uae_s32 src = get_long(srca);
  535. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  536. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  537. {    int flgs = ((uae_s32)(src)) < 0;
  538.     int flgo = ((uae_s32)(dst)) < 0;
  539.     int flgn = ((uae_s32)(newv)) < 0;
  540.     ZFLG = ((uae_s32)(newv)) == 0;
  541.     VFLG = (flgs != flgo) && (flgn != flgo);
  542.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  543.     NFLG = flgn != 0;
  544. }}}}}}}}
  545. void REGPARAM2 CPU_OP_NAME(_b0bc)(uae_u32 opcode) /* CMP */
  546. {
  547.     uae_u32 dstreg = (opcode >> 9) & 7;
  548. {{    uae_s32 src = nextilong();
  549. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  550. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  551. {    int flgs = ((uae_s32)(src)) < 0;
  552.     int flgo = ((uae_s32)(dst)) < 0;
  553.     int flgn = ((uae_s32)(newv)) < 0;
  554.     ZFLG = ((uae_s32)(newv)) == 0;
  555.     VFLG = (flgs != flgo) && (flgn != flgo);
  556.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  557.     NFLG = flgn != 0;
  558. }}}}}}}
  559. void REGPARAM2 CPU_OP_NAME(_b0c0)(uae_u32 opcode) /* CMPA */
  560. {
  561.     uae_u32 srcreg = (opcode & 7);
  562.     uae_u32 dstreg = (opcode >> 9) & 7;
  563. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  564. {    uae_s32 dst = m68k_areg(regs, dstreg);
  565. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  566. {    int flgs = ((uae_s32)(src)) < 0;
  567.     int flgo = ((uae_s32)(dst)) < 0;
  568.     int flgn = ((uae_s32)(newv)) < 0;
  569.     ZFLG = ((uae_s32)(newv)) == 0;
  570.     VFLG = (flgs != flgo) && (flgn != flgo);
  571.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  572.     NFLG = flgn != 0;
  573. }}}}}}}
  574. void REGPARAM2 CPU_OP_NAME(_b0c8)(uae_u32 opcode) /* CMPA */
  575. {
  576.     uae_u32 srcreg = (opcode & 7);
  577.     uae_u32 dstreg = (opcode >> 9) & 7;
  578. {{    uae_s16 src = m68k_areg(regs, srcreg);
  579. {    uae_s32 dst = m68k_areg(regs, dstreg);
  580. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  581. {    int flgs = ((uae_s32)(src)) < 0;
  582.     int flgo = ((uae_s32)(dst)) < 0;
  583.     int flgn = ((uae_s32)(newv)) < 0;
  584.     ZFLG = ((uae_s32)(newv)) == 0;
  585.     VFLG = (flgs != flgo) && (flgn != flgo);
  586.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  587.     NFLG = flgn != 0;
  588. }}}}}}}
  589. void REGPARAM2 CPU_OP_NAME(_b0d0)(uae_u32 opcode) /* CMPA */
  590. {
  591.     uae_u32 srcreg = (opcode & 7);
  592.     uae_u32 dstreg = (opcode >> 9) & 7;
  593. {{    uaecptr srca = m68k_areg(regs, srcreg);
  594.     uae_s16 src = get_word(srca);
  595. {    uae_s32 dst = m68k_areg(regs, dstreg);
  596. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  597. {    int flgs = ((uae_s32)(src)) < 0;
  598.     int flgo = ((uae_s32)(dst)) < 0;
  599.     int flgn = ((uae_s32)(newv)) < 0;
  600.     ZFLG = ((uae_s32)(newv)) == 0;
  601.     VFLG = (flgs != flgo) && (flgn != flgo);
  602.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  603.     NFLG = flgn != 0;
  604. }}}}}}}
  605. void REGPARAM2 CPU_OP_NAME(_b0d8)(uae_u32 opcode) /* CMPA */
  606. {
  607.     uae_u32 srcreg = (opcode & 7);
  608.     uae_u32 dstreg = (opcode >> 9) & 7;
  609. {{    uaecptr srca = m68k_areg(regs, srcreg);
  610.     uae_s16 src = get_word(srca);
  611. {    m68k_areg(regs, srcreg) += 2;
  612. {    uae_s32 dst = m68k_areg(regs, dstreg);
  613. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  614. {    int flgs = ((uae_s32)(src)) < 0;
  615.     int flgo = ((uae_s32)(dst)) < 0;
  616.     int flgn = ((uae_s32)(newv)) < 0;
  617.     ZFLG = ((uae_s32)(newv)) == 0;
  618.     VFLG = (flgs != flgo) && (flgn != flgo);
  619.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  620.     NFLG = flgn != 0;
  621. }}}}}}}}
  622. void REGPARAM2 CPU_OP_NAME(_b0e0)(uae_u32 opcode) /* CMPA */
  623. {
  624.     uae_u32 srcreg = (opcode & 7);
  625.     uae_u32 dstreg = (opcode >> 9) & 7;
  626. {{    m68k_areg(regs, srcreg) -= 2;
  627. {    uaecptr srca = m68k_areg(regs, srcreg);
  628.     uae_s16 src = get_word(srca);
  629. {    uae_s32 dst = m68k_areg(regs, dstreg);
  630. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  631. {    int flgs = ((uae_s32)(src)) < 0;
  632.     int flgo = ((uae_s32)(dst)) < 0;
  633.     int flgn = ((uae_s32)(newv)) < 0;
  634.     ZFLG = ((uae_s32)(newv)) == 0;
  635.     VFLG = (flgs != flgo) && (flgn != flgo);
  636.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  637.     NFLG = flgn != 0;
  638. }}}}}}}}
  639. void REGPARAM2 CPU_OP_NAME(_b0e8)(uae_u32 opcode) /* CMPA */
  640. {
  641.     uae_u32 srcreg = (opcode & 7);
  642.     uae_u32 dstreg = (opcode >> 9) & 7;
  643. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  644.     uae_s16 src = get_word(srca);
  645. {    uae_s32 dst = m68k_areg(regs, dstreg);
  646. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  647. {    int flgs = ((uae_s32)(src)) < 0;
  648.     int flgo = ((uae_s32)(dst)) < 0;
  649.     int flgn = ((uae_s32)(newv)) < 0;
  650.     ZFLG = ((uae_s32)(newv)) == 0;
  651.     VFLG = (flgs != flgo) && (flgn != flgo);
  652.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  653.     NFLG = flgn != 0;
  654. }}}}}}}
  655. void REGPARAM2 CPU_OP_NAME(_b0f0)(uae_u32 opcode) /* CMPA */
  656. {
  657.     uae_u32 srcreg = (opcode & 7);
  658.     uae_u32 dstreg = (opcode >> 9) & 7;
  659. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  660. {    uae_s16 src = get_word(srca);
  661. {    uae_s32 dst = m68k_areg(regs, dstreg);
  662. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  663. {    int flgs = ((uae_s32)(src)) < 0;
  664.     int flgo = ((uae_s32)(dst)) < 0;
  665.     int flgn = ((uae_s32)(newv)) < 0;
  666.     ZFLG = ((uae_s32)(newv)) == 0;
  667.     VFLG = (flgs != flgo) && (flgn != flgo);
  668.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  669.     NFLG = flgn != 0;
  670. }}}}}}}}
  671. void REGPARAM2 CPU_OP_NAME(_b0f8)(uae_u32 opcode) /* CMPA */
  672. {
  673.     uae_u32 dstreg = (opcode >> 9) & 7;
  674. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  675.     uae_s16 src = get_word(srca);
  676. {    uae_s32 dst = m68k_areg(regs, dstreg);
  677. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  678. {    int flgs = ((uae_s32)(src)) < 0;
  679.     int flgo = ((uae_s32)(dst)) < 0;
  680.     int flgn = ((uae_s32)(newv)) < 0;
  681.     ZFLG = ((uae_s32)(newv)) == 0;
  682.     VFLG = (flgs != flgo) && (flgn != flgo);
  683.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  684.     NFLG = flgn != 0;
  685. }}}}}}}
  686. void REGPARAM2 CPU_OP_NAME(_b0f9)(uae_u32 opcode) /* CMPA */
  687. {
  688.     uae_u32 dstreg = (opcode >> 9) & 7;
  689. {{    uaecptr srca = nextilong();
  690.     uae_s16 src = get_word(srca);
  691. {    uae_s32 dst = m68k_areg(regs, dstreg);
  692. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  693. {    int flgs = ((uae_s32)(src)) < 0;
  694.     int flgo = ((uae_s32)(dst)) < 0;
  695.     int flgn = ((uae_s32)(newv)) < 0;
  696.     ZFLG = ((uae_s32)(newv)) == 0;
  697.     VFLG = (flgs != flgo) && (flgn != flgo);
  698.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  699.     NFLG = flgn != 0;
  700. }}}}}}}
  701. void REGPARAM2 CPU_OP_NAME(_b0fa)(uae_u32 opcode) /* CMPA */
  702. {
  703.     uae_u32 dstreg = (opcode >> 9) & 7;
  704. {{    uaecptr srca = m68k_getpc();
  705.     srca += (uae_s32)(uae_s16)nextiword();
  706. {    uae_s16 src = get_word(srca);
  707. {    uae_s32 dst = m68k_areg(regs, dstreg);
  708. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  709. {    int flgs = ((uae_s32)(src)) < 0;
  710.     int flgo = ((uae_s32)(dst)) < 0;
  711.     int flgn = ((uae_s32)(newv)) < 0;
  712.     ZFLG = ((uae_s32)(newv)) == 0;
  713.     VFLG = (flgs != flgo) && (flgn != flgo);
  714.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  715.     NFLG = flgn != 0;
  716. }}}}}}}}
  717. void REGPARAM2 CPU_OP_NAME(_b0fb)(uae_u32 opcode) /* CMPA */
  718. {
  719.     uae_u32 dstreg = (opcode >> 9) & 7;
  720. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  721. {    uae_s16 src = get_word(srca);
  722. {    uae_s32 dst = m68k_areg(regs, dstreg);
  723. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  724. {    int flgs = ((uae_s32)(src)) < 0;
  725.     int flgo = ((uae_s32)(dst)) < 0;
  726.     int flgn = ((uae_s32)(newv)) < 0;
  727.     ZFLG = ((uae_s32)(newv)) == 0;
  728.     VFLG = (flgs != flgo) && (flgn != flgo);
  729.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  730.     NFLG = flgn != 0;
  731. }}}}}}}}
  732. void REGPARAM2 CPU_OP_NAME(_b0fc)(uae_u32 opcode) /* CMPA */
  733. {
  734.     uae_u32 dstreg = (opcode >> 9) & 7;
  735. {{    uae_s16 src = nextiword();
  736. {    uae_s32 dst = m68k_areg(regs, dstreg);
  737. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  738. {    int flgs = ((uae_s32)(src)) < 0;
  739.     int flgo = ((uae_s32)(dst)) < 0;
  740.     int flgn = ((uae_s32)(newv)) < 0;
  741.     ZFLG = ((uae_s32)(newv)) == 0;
  742.     VFLG = (flgs != flgo) && (flgn != flgo);
  743.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  744.     NFLG = flgn != 0;
  745. }}}}}}}
  746. void REGPARAM2 CPU_OP_NAME(_b100)(uae_u32 opcode) /* EOR */
  747. {
  748.     uae_u32 srcreg = ((opcode >> 9) & 7);
  749.     uae_u32 dstreg = opcode & 7;
  750. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  751. {    uae_s8 dst = m68k_dreg(regs, dstreg);
  752.     src ^= dst;
  753.     VFLG = CFLG = 0;
  754.     ZFLG = ((uae_s8)(src)) == 0;
  755.     NFLG = ((uae_s8)(src)) < 0;
  756.     m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xff) | ((src) & 0xff);
  757. }}}}
  758. void REGPARAM2 CPU_OP_NAME(_b108)(uae_u32 opcode) /* CMPM */
  759. {
  760.     uae_u32 srcreg = (opcode & 7);
  761.     uae_u32 dstreg = (opcode >> 9) & 7;
  762. {{    uaecptr srca = m68k_areg(regs, srcreg);
  763.     uae_s8 src = get_byte(srca);
  764. {    m68k_areg(regs, srcreg) += areg_byteinc[srcreg];
  765. {    uaecptr dsta = m68k_areg(regs, dstreg);
  766.     uae_s8 dst = get_byte(dsta);
  767. {    m68k_areg(regs, dstreg) += areg_byteinc[dstreg];
  768. {{uae_u32 newv = ((uae_s8)(dst)) - ((uae_s8)(src));
  769. {    int flgs = ((uae_s8)(src)) < 0;
  770.     int flgo = ((uae_s8)(dst)) < 0;
  771.     int flgn = ((uae_s8)(newv)) < 0;
  772.     ZFLG = ((uae_s8)(newv)) == 0;
  773.     VFLG = (flgs != flgo) && (flgn != flgo);
  774.     CFLG = ((uae_u8)(src)) > ((uae_u8)(dst));
  775.     NFLG = flgn != 0;
  776. }}}}}}}}}
  777. void REGPARAM2 CPU_OP_NAME(_b110)(uae_u32 opcode) /* EOR */
  778. {
  779.     uae_u32 srcreg = ((opcode >> 9) & 7);
  780.     uae_u32 dstreg = opcode & 7;
  781. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  782. {    uaecptr dsta = m68k_areg(regs, dstreg);
  783.     uae_s8 dst = get_byte(dsta);
  784.     src ^= dst;
  785.     VFLG = CFLG = 0;
  786.     ZFLG = ((uae_s8)(src)) == 0;
  787.     NFLG = ((uae_s8)(src)) < 0;
  788.     put_byte(dsta,src);
  789. }}}}
  790. void REGPARAM2 CPU_OP_NAME(_b118)(uae_u32 opcode) /* EOR */
  791. {
  792.     uae_u32 srcreg = ((opcode >> 9) & 7);
  793.     uae_u32 dstreg = opcode & 7;
  794. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  795. {    uaecptr dsta = m68k_areg(regs, dstreg);
  796.     uae_s8 dst = get_byte(dsta);
  797. {    m68k_areg(regs, dstreg) += areg_byteinc[dstreg];
  798.     src ^= dst;
  799.     VFLG = CFLG = 0;
  800.     ZFLG = ((uae_s8)(src)) == 0;
  801.     NFLG = ((uae_s8)(src)) < 0;
  802.     put_byte(dsta,src);
  803. }}}}}
  804. void REGPARAM2 CPU_OP_NAME(_b120)(uae_u32 opcode) /* EOR */
  805. {
  806.     uae_u32 srcreg = ((opcode >> 9) & 7);
  807.     uae_u32 dstreg = opcode & 7;
  808. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  809. {    m68k_areg(regs, dstreg) -= areg_byteinc[dstreg];
  810. {    uaecptr dsta = m68k_areg(regs, dstreg);
  811.     uae_s8 dst = get_byte(dsta);
  812.     src ^= dst;
  813.     VFLG = CFLG = 0;
  814.     ZFLG = ((uae_s8)(src)) == 0;
  815.     NFLG = ((uae_s8)(src)) < 0;
  816.     put_byte(dsta,src);
  817. }}}}}
  818. void REGPARAM2 CPU_OP_NAME(_b128)(uae_u32 opcode) /* EOR */
  819. {
  820.     uae_u32 srcreg = ((opcode >> 9) & 7);
  821.     uae_u32 dstreg = opcode & 7;
  822. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  823. {    uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)nextiword();
  824.     uae_s8 dst = get_byte(dsta);
  825.     src ^= dst;
  826.     VFLG = CFLG = 0;
  827.     ZFLG = ((uae_s8)(src)) == 0;
  828.     NFLG = ((uae_s8)(src)) < 0;
  829.     put_byte(dsta,src);
  830. }}}}
  831. void REGPARAM2 CPU_OP_NAME(_b130)(uae_u32 opcode) /* EOR */
  832. {
  833.     uae_u32 srcreg = ((opcode >> 9) & 7);
  834.     uae_u32 dstreg = opcode & 7;
  835. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  836. {    uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg));
  837. {    uae_s8 dst = get_byte(dsta);
  838.     src ^= dst;
  839.     VFLG = CFLG = 0;
  840.     ZFLG = ((uae_s8)(src)) == 0;
  841.     NFLG = ((uae_s8)(src)) < 0;
  842.     put_byte(dsta,src);
  843. }}}}}
  844. void REGPARAM2 CPU_OP_NAME(_b138)(uae_u32 opcode) /* EOR */
  845. {
  846.     uae_u32 srcreg = ((opcode >> 9) & 7);
  847. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  848. {    uaecptr dsta = (uae_s32)(uae_s16)nextiword();
  849.     uae_s8 dst = get_byte(dsta);
  850.     src ^= dst;
  851.     VFLG = CFLG = 0;
  852.     ZFLG = ((uae_s8)(src)) == 0;
  853.     NFLG = ((uae_s8)(src)) < 0;
  854.     put_byte(dsta,src);
  855. }}}}
  856. void REGPARAM2 CPU_OP_NAME(_b139)(uae_u32 opcode) /* EOR */
  857. {
  858.     uae_u32 srcreg = ((opcode >> 9) & 7);
  859. {{    uae_s8 src = m68k_dreg(regs, srcreg);
  860. {    uaecptr dsta = nextilong();
  861.     uae_s8 dst = get_byte(dsta);
  862.     src ^= dst;
  863.     VFLG = CFLG = 0;
  864.     ZFLG = ((uae_s8)(src)) == 0;
  865.     NFLG = ((uae_s8)(src)) < 0;
  866.     put_byte(dsta,src);
  867. }}}}
  868. void REGPARAM2 CPU_OP_NAME(_b140)(uae_u32 opcode) /* EOR */
  869. {
  870.     uae_u32 srcreg = ((opcode >> 9) & 7);
  871.     uae_u32 dstreg = opcode & 7;
  872. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  873. {    uae_s16 dst = m68k_dreg(regs, dstreg);
  874.     src ^= dst;
  875.     VFLG = CFLG = 0;
  876.     ZFLG = ((uae_s16)(src)) == 0;
  877.     NFLG = ((uae_s16)(src)) < 0;
  878.     m68k_dreg(regs, dstreg) = (m68k_dreg(regs, dstreg) & ~0xffff) | ((src) & 0xffff);
  879. }}}}
  880. void REGPARAM2 CPU_OP_NAME(_b148)(uae_u32 opcode) /* CMPM */
  881. {
  882.     uae_u32 srcreg = (opcode & 7);
  883.     uae_u32 dstreg = (opcode >> 9) & 7;
  884. {{    uaecptr srca = m68k_areg(regs, srcreg);
  885.     uae_s16 src = get_word(srca);
  886. {    m68k_areg(regs, srcreg) += 2;
  887. {    uaecptr dsta = m68k_areg(regs, dstreg);
  888.     uae_s16 dst = get_word(dsta);
  889. {    m68k_areg(regs, dstreg) += 2;
  890. {{uae_u32 newv = ((uae_s16)(dst)) - ((uae_s16)(src));
  891. {    int flgs = ((uae_s16)(src)) < 0;
  892.     int flgo = ((uae_s16)(dst)) < 0;
  893.     int flgn = ((uae_s16)(newv)) < 0;
  894.     ZFLG = ((uae_s16)(newv)) == 0;
  895.     VFLG = (flgs != flgo) && (flgn != flgo);
  896.     CFLG = ((uae_u16)(src)) > ((uae_u16)(dst));
  897.     NFLG = flgn != 0;
  898. }}}}}}}}}
  899. void REGPARAM2 CPU_OP_NAME(_b150)(uae_u32 opcode) /* EOR */
  900. {
  901.     uae_u32 srcreg = ((opcode >> 9) & 7);
  902.     uae_u32 dstreg = opcode & 7;
  903. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  904. {    uaecptr dsta = m68k_areg(regs, dstreg);
  905.     uae_s16 dst = get_word(dsta);
  906.     src ^= dst;
  907.     VFLG = CFLG = 0;
  908.     ZFLG = ((uae_s16)(src)) == 0;
  909.     NFLG = ((uae_s16)(src)) < 0;
  910.     put_word(dsta,src);
  911. }}}}
  912. void REGPARAM2 CPU_OP_NAME(_b158)(uae_u32 opcode) /* EOR */
  913. {
  914.     uae_u32 srcreg = ((opcode >> 9) & 7);
  915.     uae_u32 dstreg = opcode & 7;
  916. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  917. {    uaecptr dsta = m68k_areg(regs, dstreg);
  918.     uae_s16 dst = get_word(dsta);
  919. {    m68k_areg(regs, dstreg) += 2;
  920.     src ^= dst;
  921.     VFLG = CFLG = 0;
  922.     ZFLG = ((uae_s16)(src)) == 0;
  923.     NFLG = ((uae_s16)(src)) < 0;
  924.     put_word(dsta,src);
  925. }}}}}
  926. void REGPARAM2 CPU_OP_NAME(_b160)(uae_u32 opcode) /* EOR */
  927. {
  928.     uae_u32 srcreg = ((opcode >> 9) & 7);
  929.     uae_u32 dstreg = opcode & 7;
  930. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  931. {    m68k_areg(regs, dstreg) -= 2;
  932. {    uaecptr dsta = m68k_areg(regs, dstreg);
  933.     uae_s16 dst = get_word(dsta);
  934.     src ^= dst;
  935.     VFLG = CFLG = 0;
  936.     ZFLG = ((uae_s16)(src)) == 0;
  937.     NFLG = ((uae_s16)(src)) < 0;
  938.     put_word(dsta,src);
  939. }}}}}
  940. void REGPARAM2 CPU_OP_NAME(_b168)(uae_u32 opcode) /* EOR */
  941. {
  942.     uae_u32 srcreg = ((opcode >> 9) & 7);
  943.     uae_u32 dstreg = opcode & 7;
  944. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  945. {    uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)nextiword();
  946.     uae_s16 dst = get_word(dsta);
  947.     src ^= dst;
  948.     VFLG = CFLG = 0;
  949.     ZFLG = ((uae_s16)(src)) == 0;
  950.     NFLG = ((uae_s16)(src)) < 0;
  951.     put_word(dsta,src);
  952. }}}}
  953. void REGPARAM2 CPU_OP_NAME(_b170)(uae_u32 opcode) /* EOR */
  954. {
  955.     uae_u32 srcreg = ((opcode >> 9) & 7);
  956.     uae_u32 dstreg = opcode & 7;
  957. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  958. {    uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg));
  959. {    uae_s16 dst = get_word(dsta);
  960.     src ^= dst;
  961.     VFLG = CFLG = 0;
  962.     ZFLG = ((uae_s16)(src)) == 0;
  963.     NFLG = ((uae_s16)(src)) < 0;
  964.     put_word(dsta,src);
  965. }}}}}
  966. void REGPARAM2 CPU_OP_NAME(_b178)(uae_u32 opcode) /* EOR */
  967. {
  968.     uae_u32 srcreg = ((opcode >> 9) & 7);
  969. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  970. {    uaecptr dsta = (uae_s32)(uae_s16)nextiword();
  971.     uae_s16 dst = get_word(dsta);
  972.     src ^= dst;
  973.     VFLG = CFLG = 0;
  974.     ZFLG = ((uae_s16)(src)) == 0;
  975.     NFLG = ((uae_s16)(src)) < 0;
  976.     put_word(dsta,src);
  977. }}}}
  978. void REGPARAM2 CPU_OP_NAME(_b179)(uae_u32 opcode) /* EOR */
  979. {
  980.     uae_u32 srcreg = ((opcode >> 9) & 7);
  981. {{    uae_s16 src = m68k_dreg(regs, srcreg);
  982. {    uaecptr dsta = nextilong();
  983.     uae_s16 dst = get_word(dsta);
  984.     src ^= dst;
  985.     VFLG = CFLG = 0;
  986.     ZFLG = ((uae_s16)(src)) == 0;
  987.     NFLG = ((uae_s16)(src)) < 0;
  988.     put_word(dsta,src);
  989. }}}}
  990. void REGPARAM2 CPU_OP_NAME(_b180)(uae_u32 opcode) /* EOR */
  991. {
  992.     uae_u32 srcreg = ((opcode >> 9) & 7);
  993.     uae_u32 dstreg = opcode & 7;
  994. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  995. {    uae_s32 dst = m68k_dreg(regs, dstreg);
  996.     src ^= dst;
  997.     VFLG = CFLG = 0;
  998.     ZFLG = ((uae_s32)(src)) == 0;
  999.     NFLG = ((uae_s32)(src)) < 0;
  1000.     m68k_dreg(regs, dstreg) = (src);
  1001. }}}}
  1002. void REGPARAM2 CPU_OP_NAME(_b188)(uae_u32 opcode) /* CMPM */
  1003. {
  1004.     uae_u32 srcreg = (opcode & 7);
  1005.     uae_u32 dstreg = (opcode >> 9) & 7;
  1006. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1007.     uae_s32 src = get_long(srca);
  1008. {    m68k_areg(regs, srcreg) += 4;
  1009. {    uaecptr dsta = m68k_areg(regs, dstreg);
  1010.     uae_s32 dst = get_long(dsta);
  1011. {    m68k_areg(regs, dstreg) += 4;
  1012. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1013. {    int flgs = ((uae_s32)(src)) < 0;
  1014.     int flgo = ((uae_s32)(dst)) < 0;
  1015.     int flgn = ((uae_s32)(newv)) < 0;
  1016.     ZFLG = ((uae_s32)(newv)) == 0;
  1017.     VFLG = (flgs != flgo) && (flgn != flgo);
  1018.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1019.     NFLG = flgn != 0;
  1020. }}}}}}}}}
  1021. void REGPARAM2 CPU_OP_NAME(_b190)(uae_u32 opcode) /* EOR */
  1022. {
  1023.     uae_u32 srcreg = ((opcode >> 9) & 7);
  1024.     uae_u32 dstreg = opcode & 7;
  1025. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1026. {    uaecptr dsta = m68k_areg(regs, dstreg);
  1027.     uae_s32 dst = get_long(dsta);
  1028.     src ^= dst;
  1029.     VFLG = CFLG = 0;
  1030.     ZFLG = ((uae_s32)(src)) == 0;
  1031.     NFLG = ((uae_s32)(src)) < 0;
  1032.     put_long(dsta,src);
  1033. }}}}
  1034. void REGPARAM2 CPU_OP_NAME(_b198)(uae_u32 opcode) /* EOR */
  1035. {
  1036.     uae_u32 srcreg = ((opcode >> 9) & 7);
  1037.     uae_u32 dstreg = opcode & 7;
  1038. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1039. {    uaecptr dsta = m68k_areg(regs, dstreg);
  1040.     uae_s32 dst = get_long(dsta);
  1041. {    m68k_areg(regs, dstreg) += 4;
  1042.     src ^= dst;
  1043.     VFLG = CFLG = 0;
  1044.     ZFLG = ((uae_s32)(src)) == 0;
  1045.     NFLG = ((uae_s32)(src)) < 0;
  1046.     put_long(dsta,src);
  1047. }}}}}
  1048. void REGPARAM2 CPU_OP_NAME(_b1a0)(uae_u32 opcode) /* EOR */
  1049. {
  1050.     uae_u32 srcreg = ((opcode >> 9) & 7);
  1051.     uae_u32 dstreg = opcode & 7;
  1052. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1053. {    m68k_areg(regs, dstreg) -= 4;
  1054. {    uaecptr dsta = m68k_areg(regs, dstreg);
  1055.     uae_s32 dst = get_long(dsta);
  1056.     src ^= dst;
  1057.     VFLG = CFLG = 0;
  1058.     ZFLG = ((uae_s32)(src)) == 0;
  1059.     NFLG = ((uae_s32)(src)) < 0;
  1060.     put_long(dsta,src);
  1061. }}}}}
  1062. void REGPARAM2 CPU_OP_NAME(_b1a8)(uae_u32 opcode) /* EOR */
  1063. {
  1064.     uae_u32 srcreg = ((opcode >> 9) & 7);
  1065.     uae_u32 dstreg = opcode & 7;
  1066. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1067. {    uaecptr dsta = m68k_areg(regs, dstreg) + (uae_s32)(uae_s16)nextiword();
  1068.     uae_s32 dst = get_long(dsta);
  1069.     src ^= dst;
  1070.     VFLG = CFLG = 0;
  1071.     ZFLG = ((uae_s32)(src)) == 0;
  1072.     NFLG = ((uae_s32)(src)) < 0;
  1073.     put_long(dsta,src);
  1074. }}}}
  1075. void REGPARAM2 CPU_OP_NAME(_b1b0)(uae_u32 opcode) /* EOR */
  1076. {
  1077.     uae_u32 srcreg = ((opcode >> 9) & 7);
  1078.     uae_u32 dstreg = opcode & 7;
  1079. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1080. {    uaecptr dsta = get_disp_ea(m68k_areg(regs, dstreg));
  1081. {    uae_s32 dst = get_long(dsta);
  1082.     src ^= dst;
  1083.     VFLG = CFLG = 0;
  1084.     ZFLG = ((uae_s32)(src)) == 0;
  1085.     NFLG = ((uae_s32)(src)) < 0;
  1086.     put_long(dsta,src);
  1087. }}}}}
  1088. void REGPARAM2 CPU_OP_NAME(_b1b8)(uae_u32 opcode) /* EOR */
  1089. {
  1090.     uae_u32 srcreg = ((opcode >> 9) & 7);
  1091. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1092. {    uaecptr dsta = (uae_s32)(uae_s16)nextiword();
  1093.     uae_s32 dst = get_long(dsta);
  1094.     src ^= dst;
  1095.     VFLG = CFLG = 0;
  1096.     ZFLG = ((uae_s32)(src)) == 0;
  1097.     NFLG = ((uae_s32)(src)) < 0;
  1098.     put_long(dsta,src);
  1099. }}}}
  1100. void REGPARAM2 CPU_OP_NAME(_b1b9)(uae_u32 opcode) /* EOR */
  1101. {
  1102.     uae_u32 srcreg = ((opcode >> 9) & 7);
  1103. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1104. {    uaecptr dsta = nextilong();
  1105.     uae_s32 dst = get_long(dsta);
  1106.     src ^= dst;
  1107.     VFLG = CFLG = 0;
  1108.     ZFLG = ((uae_s32)(src)) == 0;
  1109.     NFLG = ((uae_s32)(src)) < 0;
  1110.     put_long(dsta,src);
  1111. }}}}
  1112. void REGPARAM2 CPU_OP_NAME(_b1c0)(uae_u32 opcode) /* CMPA */
  1113. {
  1114.     uae_u32 srcreg = (opcode & 7);
  1115.     uae_u32 dstreg = (opcode >> 9) & 7;
  1116. {{    uae_s32 src = m68k_dreg(regs, srcreg);
  1117. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1118. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1119. {    int flgs = ((uae_s32)(src)) < 0;
  1120.     int flgo = ((uae_s32)(dst)) < 0;
  1121.     int flgn = ((uae_s32)(newv)) < 0;
  1122.     ZFLG = ((uae_s32)(newv)) == 0;
  1123.     VFLG = (flgs != flgo) && (flgn != flgo);
  1124.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1125.     NFLG = flgn != 0;
  1126. }}}}}}}
  1127. void REGPARAM2 CPU_OP_NAME(_b1c8)(uae_u32 opcode) /* CMPA */
  1128. {
  1129.     uae_u32 srcreg = (opcode & 7);
  1130.     uae_u32 dstreg = (opcode >> 9) & 7;
  1131. {{    uae_s32 src = m68k_areg(regs, srcreg);
  1132. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1133. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1134. {    int flgs = ((uae_s32)(src)) < 0;
  1135.     int flgo = ((uae_s32)(dst)) < 0;
  1136.     int flgn = ((uae_s32)(newv)) < 0;
  1137.     ZFLG = ((uae_s32)(newv)) == 0;
  1138.     VFLG = (flgs != flgo) && (flgn != flgo);
  1139.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1140.     NFLG = flgn != 0;
  1141. }}}}}}}
  1142. void REGPARAM2 CPU_OP_NAME(_b1d0)(uae_u32 opcode) /* CMPA */
  1143. {
  1144.     uae_u32 srcreg = (opcode & 7);
  1145.     uae_u32 dstreg = (opcode >> 9) & 7;
  1146. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1147.     uae_s32 src = get_long(srca);
  1148. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1149. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1150. {    int flgs = ((uae_s32)(src)) < 0;
  1151.     int flgo = ((uae_s32)(dst)) < 0;
  1152.     int flgn = ((uae_s32)(newv)) < 0;
  1153.     ZFLG = ((uae_s32)(newv)) == 0;
  1154.     VFLG = (flgs != flgo) && (flgn != flgo);
  1155.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1156.     NFLG = flgn != 0;
  1157. }}}}}}}
  1158. void REGPARAM2 CPU_OP_NAME(_b1d8)(uae_u32 opcode) /* CMPA */
  1159. {
  1160.     uae_u32 srcreg = (opcode & 7);
  1161.     uae_u32 dstreg = (opcode >> 9) & 7;
  1162. {{    uaecptr srca = m68k_areg(regs, srcreg);
  1163.     uae_s32 src = get_long(srca);
  1164. {    m68k_areg(regs, srcreg) += 4;
  1165. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1166. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1167. {    int flgs = ((uae_s32)(src)) < 0;
  1168.     int flgo = ((uae_s32)(dst)) < 0;
  1169.     int flgn = ((uae_s32)(newv)) < 0;
  1170.     ZFLG = ((uae_s32)(newv)) == 0;
  1171.     VFLG = (flgs != flgo) && (flgn != flgo);
  1172.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1173.     NFLG = flgn != 0;
  1174. }}}}}}}}
  1175. void REGPARAM2 CPU_OP_NAME(_b1e0)(uae_u32 opcode) /* CMPA */
  1176. {
  1177.     uae_u32 srcreg = (opcode & 7);
  1178.     uae_u32 dstreg = (opcode >> 9) & 7;
  1179. {{    m68k_areg(regs, srcreg) -= 4;
  1180. {    uaecptr srca = m68k_areg(regs, srcreg);
  1181.     uae_s32 src = get_long(srca);
  1182. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1183. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1184. {    int flgs = ((uae_s32)(src)) < 0;
  1185.     int flgo = ((uae_s32)(dst)) < 0;
  1186.     int flgn = ((uae_s32)(newv)) < 0;
  1187.     ZFLG = ((uae_s32)(newv)) == 0;
  1188.     VFLG = (flgs != flgo) && (flgn != flgo);
  1189.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1190.     NFLG = flgn != 0;
  1191. }}}}}}}}
  1192. void REGPARAM2 CPU_OP_NAME(_b1e8)(uae_u32 opcode) /* CMPA */
  1193. {
  1194.     uae_u32 srcreg = (opcode & 7);
  1195.     uae_u32 dstreg = (opcode >> 9) & 7;
  1196. {{    uaecptr srca = m68k_areg(regs, srcreg) + (uae_s32)(uae_s16)nextiword();
  1197.     uae_s32 src = get_long(srca);
  1198. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1199. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1200. {    int flgs = ((uae_s32)(src)) < 0;
  1201.     int flgo = ((uae_s32)(dst)) < 0;
  1202.     int flgn = ((uae_s32)(newv)) < 0;
  1203.     ZFLG = ((uae_s32)(newv)) == 0;
  1204.     VFLG = (flgs != flgo) && (flgn != flgo);
  1205.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1206.     NFLG = flgn != 0;
  1207. }}}}}}}
  1208. void REGPARAM2 CPU_OP_NAME(_b1f0)(uae_u32 opcode) /* CMPA */
  1209. {
  1210.     uae_u32 srcreg = (opcode & 7);
  1211.     uae_u32 dstreg = (opcode >> 9) & 7;
  1212. {{    uaecptr srca = get_disp_ea(m68k_areg(regs, srcreg));
  1213. {    uae_s32 src = get_long(srca);
  1214. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1215. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1216. {    int flgs = ((uae_s32)(src)) < 0;
  1217.     int flgo = ((uae_s32)(dst)) < 0;
  1218.     int flgn = ((uae_s32)(newv)) < 0;
  1219.     ZFLG = ((uae_s32)(newv)) == 0;
  1220.     VFLG = (flgs != flgo) && (flgn != flgo);
  1221.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1222.     NFLG = flgn != 0;
  1223. }}}}}}}}
  1224. void REGPARAM2 CPU_OP_NAME(_b1f8)(uae_u32 opcode) /* CMPA */
  1225. {
  1226.     uae_u32 dstreg = (opcode >> 9) & 7;
  1227. {{    uaecptr srca = (uae_s32)(uae_s16)nextiword();
  1228.     uae_s32 src = get_long(srca);
  1229. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1230. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1231. {    int flgs = ((uae_s32)(src)) < 0;
  1232.     int flgo = ((uae_s32)(dst)) < 0;
  1233.     int flgn = ((uae_s32)(newv)) < 0;
  1234.     ZFLG = ((uae_s32)(newv)) == 0;
  1235.     VFLG = (flgs != flgo) && (flgn != flgo);
  1236.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1237.     NFLG = flgn != 0;
  1238. }}}}}}}
  1239. void REGPARAM2 CPU_OP_NAME(_b1f9)(uae_u32 opcode) /* CMPA */
  1240. {
  1241.     uae_u32 dstreg = (opcode >> 9) & 7;
  1242. {{    uaecptr srca = nextilong();
  1243.     uae_s32 src = get_long(srca);
  1244. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1245. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1246. {    int flgs = ((uae_s32)(src)) < 0;
  1247.     int flgo = ((uae_s32)(dst)) < 0;
  1248.     int flgn = ((uae_s32)(newv)) < 0;
  1249.     ZFLG = ((uae_s32)(newv)) == 0;
  1250.     VFLG = (flgs != flgo) && (flgn != flgo);
  1251.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1252.     NFLG = flgn != 0;
  1253. }}}}}}}
  1254. void REGPARAM2 CPU_OP_NAME(_b1fa)(uae_u32 opcode) /* CMPA */
  1255. {
  1256.     uae_u32 dstreg = (opcode >> 9) & 7;
  1257. {{    uaecptr srca = m68k_getpc();
  1258.     srca += (uae_s32)(uae_s16)nextiword();
  1259. {    uae_s32 src = get_long(srca);
  1260. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1261. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1262. {    int flgs = ((uae_s32)(src)) < 0;
  1263.     int flgo = ((uae_s32)(dst)) < 0;
  1264.     int flgn = ((uae_s32)(newv)) < 0;
  1265.     ZFLG = ((uae_s32)(newv)) == 0;
  1266.     VFLG = (flgs != flgo) && (flgn != flgo);
  1267.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1268.     NFLG = flgn != 0;
  1269. }}}}}}}}
  1270. void REGPARAM2 CPU_OP_NAME(_b1fb)(uae_u32 opcode) /* CMPA */
  1271. {
  1272.     uae_u32 dstreg = (opcode >> 9) & 7;
  1273. {{    uaecptr srca = get_disp_ea(m68k_getpc());
  1274. {    uae_s32 src = get_long(srca);
  1275. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1276. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1277. {    int flgs = ((uae_s32)(src)) < 0;
  1278.     int flgo = ((uae_s32)(dst)) < 0;
  1279.     int flgn = ((uae_s32)(newv)) < 0;
  1280.     ZFLG = ((uae_s32)(newv)) == 0;
  1281.     VFLG = (flgs != flgo) && (flgn != flgo);
  1282.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1283.     NFLG = flgn != 0;
  1284. }}}}}}}}
  1285. void REGPARAM2 CPU_OP_NAME(_b1fc)(uae_u32 opcode) /* CMPA */
  1286. {
  1287.     uae_u32 dstreg = (opcode >> 9) & 7;
  1288. {{    uae_s32 src = nextilong();
  1289. {    uae_s32 dst = m68k_areg(regs, dstreg);
  1290. {{uae_u32 newv = ((uae_s32)(dst)) - ((uae_s32)(src));
  1291. {    int flgs = ((uae_s32)(src)) < 0;
  1292.     int flgo = ((uae_s32)(dst)) < 0;
  1293.     int flgn = ((uae_s32)(newv)) < 0;
  1294.     ZFLG = ((uae_s32)(newv)) == 0;
  1295.     VFLG = (flgs != flgo) && (flgn != flgo);
  1296.     CFLG = ((uae_u32)(src)) > ((uae_u32)(dst));
  1297.     NFLG = flgn != 0;
  1298. }}}}}}}
  1299. #endif
  1300.